attribute vec3 a_posL;
attribute vec2 a_uv;
attribute vec3 a_normal;


uniform mat4 u_mvp;
uniform mat4 u_matTransposeInverseViewModel;
uniform mat4 matViewModel;

varying vec3 v_currentVertexPos;
varying vec3 v_normal;
varying vec2 v_uv;

void main()
{

	
	vec4 posL = u_mvp * vec4(a_posL, 1.0);
	gl_Position = posL;
	v_uv = a_uv;
	v_normal = normalize(mat3(u_matTransposeInverseViewModel)*a_normal);
	v_currentVertexPos = (matViewModel*vec4(a_posL, 0.0)).xyz; 
	
	
}